<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Curso extends CI_Controller{

	function __construct(){
		parent::__construct();
		$this->load->model('Curso_model');
		$this->load->model('User_model');
		$this->_is_logued_in();
		$this->load->helper("form");
		$this->load->library("form_validation");
		$this->load->library("email");
		$this->load->library("fpdf");
		$this->load->library('table');
		$this->load->library('pagination');
	}
	
	private $limit = 8;
	
	function index($offset = 0, $order_column = 'cod_curso', $order_type = 'asc'){
		// checks
		if (empty($offset)) $offset = 0;
		if (empty($order_column)) $order_column = 'cod_curso';
		if (empty($order_type)) $order_type = 'asc';
			
		$cursos = $this->Curso_model->get_paged_list($this->limit, $offset, $order_column, $order_type)->result();
	 
		// generate pagination
		
		$config['base_url'] = ''. base_url().'index.php/curso/index/';
		$config['total_rows'] = $this->Curso_model->count_all();
		$config['per_page'] = $this->limit;
		$config['uri_segment'] = 3;
		$config['first_link'] = 'Primero';
		$config['last_link'] = 'Ultimo';
		$config['num_links'] = 3;

		$this->pagination->initialize($config);
		$data['pagination'] = $this->pagination->create_links();

		// generate table data
		$this->table->set_empty("&nbsp;");
		$new_order = ($order_type == 'asc' ? 'desc' : 'asc');
		$this->table->set_heading(
			'No ',
			anchor('curso/index/'.$offset.'/cod_curso/'.$new_order, 'ID'),
			anchor('curso/index/'.$offset.'/descripcion/'.$new_order, 'Nombre'),
			anchor('curso/index/'.$offset.'/costo/'.$new_order, 'Costo'),
		/*	anchor('curso/index/'.$offset.'/mostrar/'.$new_order, 'Mostrar'),
			anchor('curso/index/'.$offset.'/principal/'.$new_order, 'Principal'), */
			' Actions'
		);
		$i = 0 + $offset;
		foreach ($cursos as $curso){
			$this->table->add_row(++$i, $curso->cod_curso, $curso->descripcion,$curso->costo,
				anchor('curso/view/'.$curso->cod_curso,'Ver',array('class'=>'view')).'  '.
				anchor('curso/updates/'.$curso->cod_curso,'Editar',array('class'=>'updates')).' '.
				anchor('curso/delete/'.$curso->cod_curso,'Eliminar',array('class'=>'delete','onclick'=>"return confirm('Está seguro que desea eliminar esta curso?')"))
			);
		}
		$data['title']= 'Cipost :: Cursos';
		$data['activo'] = "administrar";
		$data['table'] = $this->table->generate();
		$data['nombresession'] = $this->User_model->nombresession($this->session->userdata('id'))->row();
		$data['main_content']="mantenedores/curso";
		$this->load->view('includes/template',$data);
	}
	
	function view($id){
		$data=$this->_llenar_combos();
		$data['title'] = 'CIPOST :: Detalle de Cursos';
		$data['activo'] = "administrar";
		$data['nombresession'] = $this->User_model->nombresession($this->session->userdata('id'))->row();
		$data['link_back'] = anchor('curso/index/','Volver a cursos',array('class'=>'back'));
		// get person details
		$data['curso']=$this->Curso_model->get_by_id($id)->row();
		$data['main_content']="mantenedores/cursoView";
		$this->load->view('includes/template',$data);

	}
	
	function add(){
		$data=$this->_llenar_combos();
		$data['title'] = 'CIPOST :: Agregar Curso';
		$data['activo'] = "administrar";
		$data['nombresession'] = $this->User_model->nombresession($this->session->userdata('id'))->row();
		$data['message'] = '';
		$data['action'] = site_url('curso/addcurso');
		$data['link_back'] = anchor('curso/index/','Volver a cursos',array('class'=>'back'));
		$data['main_content']="mantenedores/cursoEdit";
		$this->load->view('includes/template',$data);
	}
	
	function addcurso(){
		// set common properties
		$data['title'] = 'CIPOST :: Agregar Curso';
		$data['activo'] = "administrar";
		$data['nombresession'] = $this->User_model->nombresession($this->session->userdata('id'))->row();
		$data['action'] = site_url('curso/addcurso');
		$data['link_back'] = anchor('curso/index/','Volver a cursos',array('class'=>'back'));
		$sede= $this->input->post('sede');
		$programa= $this->input->post('programa');
		$cronograma= $this->input->post('cronograma');
		$cod_curso=$this->_generar_codigocurso($programa,$cronograma,$sede);
		$cursos = array('cod_curso'=>$cod_curso,'PROGRAMA_cod_programa'=>$programa,'CRONOGRAMA_cod_cronograma'=> $cronograma,'SEDE_cod_sede'=>$sede,'descripcion' => $this->input->post('descripcion'),'costo' => $this->input->post('costo'));
		if(!$this->User_model->curso_check($cod_curso)){
			$data['message'] ='<div class="success">El curso ya existe.</div>';	
		}else{		
		$id = $this->Curso_model->save($cursos);
		$data['message'] = '<div class="success">Se agreg&oacute; con &Eacute;xito</div>';	}
		$data['main_content']="mantenedores/cursoEdit";
		$this->load->view('includes/template',$data);
	}
	
	function updates($id){
		$curso = $this->Curso_model->get_by_id($id)->row();
		$data=$this->_llenar_combos();
		$data['curso']=$curso;
		$data['title']= 'CIPOST :: Actualizar Curso';
		$data['activo'] = "administrar";
		$data['nombresession'] = $this->User_model->nombresession($this->session->userdata('id'))->row();
		$data['message'] = '';
		$data['action'] = site_url('curso/actualizarcurso');
		$data['link_back'] = anchor('curso/index/','Volver a cursos',array('class'=>'back'));
		$data['main_content']="mantenedores/cursoEdit";
		$this->load->view('includes/template',$data);
	}

	function actualizarcurso(){
		$data['activo'] = "administrar";
		$data['nombresession'] = $this->User_model->nombresession($this->session->userdata('id'))->row();
		$data['action'] = site_url('curso/actualizarcurso');
		$data['link_back'] = anchor('curso/index/','Volver a cursos',array('class'=>'back'));
		$codigo = $this->input->post('codigo');
		$datos = array('descripcion' => $this->input->post('descripcion'),
							'costo' => $this->input->post('costo'));
		$this->Curso_model->actualizar($codigo,$datos);
		$data['message'] ='<div class="success">Curso Actualizado con &Eacute;xito!!!</div>';
		$data['title']= 'CIPOST :: Actualizar curso';
		$data['main_content']="mantenedores/cursoEdit";
		$this->load->view('includes/template',$data);
	}
		
	function _llenar_combos(){
		$sede= $this->User_model->llenar_combo_sede();
		$programa= $this->User_model->llenar_combo_programa();
		$cronograma= $this->User_model->llenar_combo_cronograma();
		$data = array('rs_sede' => $sede,'rs_programa' => $programa,'rs_cronograma'=>$cronograma);
		return $data;
	}

	function delete($id){
		$this->Curso_model->delete($id);
		redirect('curso/index/','refresh');
	}
	
	function _generar_codigocurso($programa,$cronograma,$sede){
		$codigo='';
		switch($programa){
		   	case 1:
		    	$codigo.='ALE';
		    	break;
			case 2:
		    	$codigo.='FRA';
		    	break;
			case 3:
		    	$codigo.='ING';
		    	break;
			case 4:
		    	$codigo.='ITA';
		    	break;			
		   default:
		      	$codigo.='POR';
		    	break;	
		}
		switch($cronograma){
		   	case 1:
		    	$codigo.='G01';
		    	break;
			case 2:
		    	$codigo.='G02';
		    	break;
			case 3:
		    	$codigo.='G03';
		    	break;
			case 4:
		    	$codigo.='G04';
		    	break;			
		   default:
		      	$codigo.='G05';
		    	break;	
		} 
		$codigo.='0';
		$codigo.=$sede;
		$codigo.=(date('Y')+1);
		return $codigo;
	}

	function _is_logued_in(){
		$is_logued_in=$this->session->userdata('is_logued_in');
		$user_id=$this->session->userdata('id');
		if($is_logued_in!=TRUE or $user_id='')		
			redirect('/index.php/user/login');
	}
	
}

?>